1. Field of the Invention
The present invention relates to communications systems and other data networks that rely on packet-based transport mechanisms.
2. Description of the Related Art
FIG. 1 shows a portion of an exemplary data network 100 that relies on a packet-based transport mechanism to transmit data between pairs of nodes in the network. In particular, FIG. 1 shows four nodes labeled A, B, C, and D connected by five links labeled L1, L2, L3, L4, and L5. For data transmissions from Node A to Node C, Node A may be referred to as the source node and Node C as the destination node, although Node A might not be the origin of the packet and/or Node C might not be the ultimate destination for the packet. In general, data at Node A that is to be transmitted to Node C is segmented into one or more different packets, where the packets are routed to Node C along one or more of the four available paths between Nodes A and C (i.e., the paths (A→B→C), (A→D→C), (A→B→D→C), and (A→D→B→C)). In one possible implementation of data network 100, all of the packets for a given transmission are transmitted along the same path. In another possible implementation, the packets may be (e.g., randomly) transmitted along two or more different paths. Since the time that it takes for a packet to travel from the source node to the destination node will typically vary from path to path, it is possible for packets to arrive at the destination node out of order (i.e., an earlier-transmitted packet arriving at the destination node after a later-transmitted packet). In some applications, packets are buffered at the destination node in an attempt to reconstruct the correct packet sequence when packets arrive out of order. In addition, in some data networks, it is possible for one or more packets to be lost during transit between the source and destination nodes, where those lost packets never arrive at the destination node. In general, the destination node needs to be configured to implement an algorithm that dictates how incoming packets are to be handled (e.g., when to discard packets as being too old).